var { MathNum, MathCode, initObj, formatObj, filterObj } = require('../libs/common');

var init = function (data) {
    let obj= initObj(mod, data);
    obj.nickname = obj.nickname=='豆号' ? obj.nickname+MathNum(6): obj.nickname;
    obj.code = MathCode();
    return obj;
}

var format = function (data) {
    return formatObj(mod, data);
}
var filObj = function (data) {
    return filterObj(mod, data);
}

// 用户表
var mod = {
    isread:{
        name: '消息是否已读',
        type: 'number',
        default: 0    
    },
    // 昵称
    nickname: {
        name: '用户昵称',
        type: 'string',
        length: 50,
        default: '豆号'
    },
    // 编号
    code: {
        type: 'string',
        length: 12
    },
    // 姓名
    name: {
        name: '姓名',
        type: 'string',
        default: '',
        length: 50
    },
     // 家长姓名
     name_father: {
        name: '家长姓名',
        type: 'string',
        default: '',
        length: 50
    },
    // 头像
    avator: {
        type: 'string',
        length: 5000,
        default: 'https://redspider.oss-cn-shenzhen.aliyuncs.com/setting/female_a.png'
    },
    // 企业微信
    qywx: {
        type: 'string',
        length: 5000
    },
    // 等级 枚举值：0：游客 1：用户 9：推荐人 19用户+推荐人 99:已注销
    level: {
        name: '用户等级',
        type: 'number',
        default: 0
    },
    // 状态 枚举值：0：单身（默认值）1:已脱单 9:已婚 
    state: {
        name: '用户状态',
        type: 'number',
        default: 0
    },
    // 用户匹配状态 0：未匹配 1：已匹配  2： 已脱单  9：已下线
    statu: {
        name: '用户匹配状态',
        type: 'number',
        default: 0
    },
    // 签名
    signature: {
        name: '签名',
        type: 'string',
        default: '愿得一人心，白首不分离',
        length: 250
    },
    // 年龄
    age: {
        name: '年龄',
        type: 'number',
        default: 25
    },
    // 是否第一次登录小程序    1：第一次登录未选择身份， 0：已经保存过身份
    isfirst: {
        name: '登录次数',
        type: 'number',
        default: 1
    },
    // 是否保存过用户个人资料    1：保存过， 0：未保存
    issave: {
        name: '资料保存次数',
        type: 'number',
        default: 0
    },
    // 性别
    grender: {
        type: 'string',
        default:'女',
        length: 2
    },
    birthday: {
        name:'出生日期',
        type: 'date',
        default: new Date()
    },
    star: {
        name:'星座',
        type: 'string',
        length: 3,
        default: '白羊座'
    },
    idcard:{
        name:'身份证号',
        length: 18,
        type: 'string'
    },
    idcard_father:{
        name:'家长身份证号',
        length: 18,
        type: 'string'
    },
    nation:{
        name:'民族',
        type: 'string',
        length: 5,
        default: '汉族'
    },
    height: {
        name:'身高',
        type: 'number',
        default: 160
    },
    weight: {
        name:'体重',
        type: 'number',
        default: 50
    },
    wechat_code: {
        name: '微信号',
        type: 'string',
        length: 20
    },
    phone: {
        name: '手机号',
        type: 'string',
        length: 11
    },
    email: {
        name: '邮箱',
        type: 'string',
        length: 50
    },
    openid: {
        type: 'string',
        length: 50
    },
    address: {
        name: '地址',
        type: 'string',
        length: 50
    },
    province: {
        name:'所在省',
        type: 'string',
        default: '广东省',
        length: 10
    },
    city: {
        name:'所在市',
        type: 'string',
        default: '深圳市',
        length: 10
    },
    area: {
        name:'所在区',
        type: 'string',
        default: '南山区',
        length: 10
    },
    town: {
        name:'所在街道',
        type: 'string',
        default: '',
        length: 10
    },
    province_town: {
        name:'籍贯所在省',
        type: 'string',
        default: '广东省',
        length: 10
    },
    city_town: {
        name:'籍贯所在市',
        type: 'string',
        default: '深圳市',
        length: 10
    },
    area_town: {
        name:'籍贯所在区',
        type: 'string',
        default: '南山区',
        length: 10
    },
    province_account: {
        name:'户口所在省',
        type: 'string',
        default: '广东省',
        length: 10
    },
    city_account: {
        name:'户口所在市',
        type: 'string',
        default: '深圳市',
        length: 10
    },
    area_account: {
        name:'户口所在区',
        type: 'string',
        default: '南山区',
        length: 10
    },
    // 是否通过实名认证 0未认证，1认证通过，2：认证中，9认证失败
    cross_realname_auth: {
        name: '是否通过实名认证',
        type: 'number',
        default: 0
    },
    // 是否通过工作认证 0未认证，1认证通过，2：认证中，9认证失败
    cross_work_auth: {
        name: '是否通过工作认证',
        type: 'number',
        default: 0
    },
    // 是否通过学历认证 0未认证，1认证通过，2：认证中，9认证失败
    cross_education_auth: {
        name: '是否通过学历认证',
        type: 'number',
        default: 0
    },
    hometown: {
        name: '家乡',
        type: 'string',
        default: '',
        length: 100
    },
    // 婚姻状态 枚举：未婚、离异无孩、离异带孩、离异不带孩、丧偶
    marital_status: {
        name:'婚姻状态',
        type: 'string',
        length: 10,
        default: '未婚'
    },
    education: {
        name:'学历',
        type: 'string',
        default:'本科',
        length: 10
    },
    education_code: {//高中及以下（1）、中专（2）、大专（3）、本科（4）、硕士（5）、博士（6）
        name: '学历编码',
        type: 'number',
        default: 4,
        length: 2
    },
    university: {
        name: '毕业院校',
        type: 'string',
        default: '',
        length: 30
    },
    company: {
        name: '所在公司',
        type: 'string',
        default: '',
        length: 30
    },
    position: {
        name: '担任职位',
        type: 'string',
        default: '自由职业',
        length: 10
    },
    // 年收入，单位万
    year_income: {
        type: 'string',
        default:'5-10万',
        length: 10
    },
    // 可信度 每个认证占比30%，全部认证完成98%
    reliability: {
        type: 'number',
        default: 0
    },
    // 单身广场排序号，默认999，认证后置为100，上传头像后置为99，，资料填写完成后置为9，管理员推荐后置为1
    sortnum: {
        name: '序号',
        type: 'number',
        default: 999
    },
    // 用户锁定状态 0：未锁定 1：锁定
    block: {
        name: '用户状态',
        type: 'number',
        default: 0
    },
     // 是否家长 0：否 1：是
    is_father: {
        name: '是否家长',
        type: 'number',
        default: 0
    },
    identity:{ // 用户身份，本人或家长
        name:'用户身份',
        type: 'string',
        length: 10
    },
    // 平台不公开，0：公开，1：不公开
    isopen: {
        name: '平台是否公开',
        type: 'number',
        default: 0
    },
    // 相册不公开，0：公开，1：不公开
    islook: {
        name: '相册是否公开',
        type: 'number',
        default: 0
    },
    // 屏蔽同事，0：不屏蔽，1：屏蔽
    issecret: {
        name: 'issecret',
        type: 'number',
        default: 0
    },
    // 隐藏学校名称，0：不隐藏，1：隐藏
    isschool: {
        name: 'isschool',
        type: 'number',
        default: 0
    },
    // 隐藏公司名称，0：不隐藏，1：隐藏
    iscompany: {
        name: 'iscompany',
        type: 'number',
        default: 0
    },
    // 隐藏位置信息，0：不隐藏，1：隐藏
    islocal: {
        name: 'isschool',
        type: 'number',
        default: 0
    },
     // 用户确认状态，0：未确认，1：已确认
    confirm: {
        name: 'confirm',
        type: 'number',
        default: 0
    },
    //用户发布状态:0：未发布，1：已发布,2：已回收
    online: {
        name: 'online',
        type: 'number',
        default: 0
    },
    // 平台审核状态-用户
    userstate:{
        name: '平台审核状态-用户',// 9 未确认， 0 审核中 1 审核通过 2已回收
        type: 'number',
        default: 9
    },
    // 平台审核状态-推荐人
    visterstate:{
        name: '平台审核状态-推荐人',// 9 未确认 0审核中 1审核通过 2 审核拒绝
        type: 'number',
        default: 9
    },
    //置顶状态 0：未置顶，1：已置顶
    topstate:{
        name: 'topstate',
        type: 'number',
        default: 0
    },
    soldier: {
        name:'是否军人', //0：否，1：是
        type: 'number',
        default: 0
    },
    isnice: {
        name:'是否优质用户', //0：否，1：是
        type: 'number',
        default: 0
    },
    sourcetype: {
        name:'来源',// 小程序注册、后台导入
        type: 'string',
        length: 5,
        default: '小程序注册'
    },
    isinviter: {
        name:'是否推荐人',
        type: 'number',
        default: 0
    },
    invitcode: {
        name:'推荐人code',
        type: 'string',
        length: 12
    },
    inviter_wechat_code: {
        name: '推荐人手机号',
        type: 'string',
        length: 20
    },
    relationship: {
        name: '与推荐人关系',
        type: 'string',
        default:'关联分享',
        length: 20
    },
    synopsis: {
        name: '推荐人简介',
        type: 'string',
        length: 500
    },
    inviter_code: {
        name: '关联邀请人code',
        type: 'string',
        length: 12
    },
    remarks:{
        name:'备注',
        type: 'string',
        length: 250
    },
    phone_bak:{
        name:'备注手机号',
        type: 'string',
        length: 250
    },
    house:{
        name:'房产信息',
        type: 'string',
        length: 10
    },
    car:{
        name:'是否购车',
        type: 'string',
        length: 10
    },
    marry:{
        name:'希望何时结婚',
        type: 'string',
        length: 10
    },
    // 认证等级
    grade:{
        name: '认证等级',
        type: 'number',
        default: 0
    },
    createtime: {
        type: 'date',
        default: new Date()
    },
    updatetime: {
        type: 'date',
        default: new Date()
    }
};

module.exports = {
    init,
    format,
    filObj
};